diff options
| author | Adam Soltys <[email protected]> | 2022-11-12 03:31:54 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2022-11-12 03:31:54 -0800 |
| commit | 7331eb110b13a6b063ec22176c612cb26940e4bd (patch) | |
| tree | bebd0627075bc2e27f9a01bfb615914a9e62bdaf /src/routes/(app)/[username]/request/[id]/+page.server.js | |
| parent | a52b8873712b679e1156b9ddc4a554384aa3559a (diff) | |
| download | coinos-ui-7331eb110b13a6b063ec22176c612cb26940e4bd.tar.gz coinos-ui-7331eb110b13a6b063ec22176c612cb26940e4bd.zip | |
requests flow
Diffstat (limited to 'src/routes/(app)/[username]/request/[id]/+page.server.js')
| -rw-r--r-- | src/routes/(app)/[username]/request/[id]/+page.server.js | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/routes/(app)/[username]/request/[id]/+page.server.js b/src/routes/(app)/[username]/request/[id]/+page.server.js index 79db5d42..99f2e8e2 100644 --- a/src/routes/(app)/[username]/request/[id]/+page.server.js +++ b/src/routes/(app)/[username]/request/[id]/+page.server.js @@ -1,3 +1,19 @@ import { auth, get } from '$lib/utils'; +import { redirect } from '@sveltejs/kit'; -export let load = async ({ cookies, params }) => get(`/request/${params.id}`, auth(cookies)); +export let load = async ({ cookies, depends, locals: { user }, params }) => { + depends('app:invoice'); + if (!user) throw redirect(307, '/login'); + + let { request } = await get(`/request/${params.id}`, auth(cookies)); + let { invoice } = request; + if (invoice) { + let { amount, received, uuid } = invoice; + if ((received && !amount) || received >= amount) throw redirect(307, `/send/${uuid}`); + + if (request.requester.username === user.username) + throw redirect(307, `/send/${request.invoice.uuid}`); + } + + return { request }; +}; |
